#ifndef VENDA_H_
#define VENDA_H_

#include "tipos.h"
#include "Produto.h"
#include "ListaEncadeada.hpp"
#include <string>

class Venda
{
	public:
	
		Venda();
		/*inicia a lista*/
		
		virtual
		~Venda();
		
		void
		inserirProduto(Produto*,int);
		/*Insere o produto com a quantidade na lista*/
		
		ListaEncadeada < noLista*, int > *
		confirmaVenda( int, std::string );

		ListaEncadeada < noLista*, int > *
		confirmaVenda( );
		/*confirma venda e retorna um ponteiro pra lista para que seja baixado os produtos do estoque*/
		
		void
		setStatus(bool);
		
		bool 
		getStatus() const;
		
		void
		setValorTotal(float);
		
		float
		getValorTotal();
		
		void
		setCodigoVenda( int );
		
		int
		getCodigoVenda() const;
		
		float
		operator +( Venda );
		
		void
		mostraProdutos();
		
	protected:
		
		ListaEncadeada<noLista*, int>
		mProdutos;
		
		int
		mTelefone;
		
		std::string
		mEndereco;
		
		float
		mValorTotal;
		
		bool
		mStatusVenda;
		
		int
		mCodigoVenda;

		void
		calculaTotal();
		
//                typedef list<noLista*> listaProdutos;
//                listaProdutos mProdutos;
		
};

#endif /*VENDA_H_*/
